/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/8/26 21:21
 *    通过继承Thread类，重写run()方法，实现线程的创建
 *      Thread 是 Java 标准库中描述的一个关于线程的类
 *      常用方法就是自己定义一个类继承 Thread，
 *      重写Thread中的run方法，run方法就表示线程要执行的具体的任务（代码）
 */
public class ThreadDemo2 {
    public static void main(String[] args) {
        //start方法就会真的从操作系统中创建一个线程出来（内核中搞个PCB，加入双向链表中）
        //这个新的线程，就会执行run中所描述的代码
        Thread t = new MyThread2();
        //创建一个新线程，程序中有两个执行流，则可以执行两个死循环
        t.start();
        //没有创建线程，直接调用run方法，不能跳出方法内部的死循环
        //t.run();

        while(true){
            System.out.println("hello main");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
class MyThread2 extends Thread{
    @Override
    public void run() {
        while (true){
            System.out.println("hello Thread");
            //调用sleep方法，让当前的线程暂时放弃CPU，等待一段时间之后，再重新参与调度
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }


}